﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Communergy.Common.Events;

namespace Communergy.Common
{
    public interface IMeterView
    {
        void UpdateStatus(string newStatus);

        List<EnergyData> HourlyEnergyReadings { set; }
        List<EnergyData> DailyEnergyReadings { set; }
        List<EnergyData> MonthlyEnergyReadings { set; }
        List<EnergyData> RealtimeEnergyReadings { set; }
        
        void BindSingleDayReport(Report dailyData);

        event EventHandler<ReportQueryEventArgs> GetSingleDayReport;

        event EventHandler<EnergyMonitorProviderEventArgs> InitialiseDevice;

        event EventHandler<EventArgs> RegisterMeterOnline;

        event EventHandler<EventArgs> StartMonitoring;

        event EventHandler<EventArgs> StopMonitoring;

        event EventHandler<EventArgs> StartUpload;

        event EventHandler<EventArgs> StopUpload;
    }
}
